#include <signal.h>
#include <unistd.h>
#include "git_version_autogen.h"
#include "my_log.h"
#include "util_process_state.h"
#include "letterShellTask.h"

static int my_print(const char *format, ...)
{
    char line[512];
    va_list ap;
    va_start(ap, format);
    vsprintf(line, format, ap);
    log_boot("%s", line);
    va_end(ap);
    return 0;
}

int main(int argc, char *argv[])
{
    int ret;
    // 初始化zlog
    ret = log_init();
    if (ret < 0)
    {
        fprintf(stderr, "log_init failed\n");
        return 0;
    }
	// 忽略到SIGPIPE,防止套接字写崩溃
    signal(SIGPIPE, SIG_IGN);

    // 打印出程序git版本信息
    print_git_version(my_print);

    // 统计程序运行信息,使用git提交作为版本信息
    proc_state_bootup(git_commit, NULL);

    // 开启telnetd线程，端口默认2333
    startLetterShellTask();

    while (1)
    {
        sleep(1);
    }
    return 0;
}